


//
//  HMStatus.m
//  黑马微博-wzy
//
//  Created by Mac on 2017/2/9.
//  Copyright © 2017年 Mac. All rights reserved.
//

#import "HMStatus.h"
#import "HMPhoto.h"
#import "MJExtension.h"
#import "NSDate+MJ.h"

@implementation HMStatus

- (NSDictionary *)objectClassInArray
{
    return @{@"pic_urls" : [HMPhoto class]};
}



/*
 //4.时间
 self.timeLabel.text = status.created_at;
 //5.来源
 self.sourceLabel.text = status.source;
 后面是要把 "="右边的值赋给左边,调用了getter方法
 所以要重写 变量的getter方法
 */

/*
 时间:
 一:今年
  1:今天
  (1)1分钟内:刚刚
  (2)1小时内:xx分钟前
 
  2:昨天
   昨天 xx:xx
 
  3:至少是前天发的
    04-23 xx:xx
 
 二:非今年
  2010-02-11
 */
//时间格式的转化:系统返回的字符串经过NSDateFormatter=>NSDate,得到的NSDate经过自己想要展示的格式NSDateFormatter=>字符串
- (NSString *)created_at{
//    HMLog(@"%@", _created_at);
    
    //系统返回的时间:Fri Feb 17 22:53:36 +0800 2017
    NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
    //系统时间的格式为 @"EEE MMM dd HH:mm:ss Z yyyy"
    fmt.dateFormat = @"EEE MMM dd HH:mm:ss Z yyyy";
    //获取微博发布的具体时间
    NSDate *createDate = [fmt dateFromString:_created_at];
    //判断是否为今年
    if (createDate.isThisYear) {
        //判断是否是今天
        if (createDate.isToday) {
            //如果是今天,判断从发布到现在的时间差
            NSDateComponents *cmps = [createDate deltaWithNow];
            if (cmps.hour >= 1) {
                //时差 >= 1,说明至少是1小时前发布的
                return [NSString stringWithFormat:@"%ld小时前", cmps.hour];
            }else if (cmps.minute >= 1){
                //时差 1~59 分钟
                return [NSString stringWithFormat:@"%ld分钟前", cmps.minute];
            }else{
               //时差 1分钟以内
                return @"刚刚";
            }
            
        }else if (createDate.isYesterday){
           //昨天
            fmt.dateFormat = @"昨天 HH:mm";
            //再由 NSDate 按照一定的格式 转化为字符串
            return [fmt stringFromDate:createDate];
        }else{
           //至少是前天
           fmt.dateFormat = @"MM-dd HH:mm";
            return [fmt stringFromDate:createDate];
        }
    
    }else{
    //非今年
    fmt.dateFormat = @"yyyy-MM-dd";
        return [fmt stringFromDate:createDate];
    }
    
}

//系统返回的来源:<a href="http://app.weibo.com/t/feed/6vtZb0" rel="nofollow">微博 weibo.com</a>
//- (NSString *)source{
//    
//    NSString *str = @"";
//    if ([_source isEqualToString:@""]){
//      str = @"";
//    
//    }else{
//        //截取范围
//        NSRange range;
//        //自动从前往后查找">",找到即停止,所以是以第一个为准
//        range.location = [_source rangeOfString:@">"].location + 1;
//        range.length = [_source rangeOfString:@"</"].location - range.location;
//        //开始截取
//        NSString *subsource = [_source substringWithRange:range];
//        //开头拼接一个"来自"
//        str = [NSString stringWithFormat:@"来自%@", subsource];
//    
//    }
//    return str;
//}
//getter 只要滚动cell,时刻在调用 耗内存
//setter 在模型-字典 赋值那一刻 每个模型只调用一次
//因为时间时时刻刻在改变,所以时间可以时时刻刻重新赋值,重新计算frame,但是来源是不会改变的,所以只需调用一次即可
- (void)setSource:(NSString *)source{
//    NSString *str = @"";
    if ([source isEqualToString:@""]){
          _source = @"";
    
    }else{
            //截取范围
            NSRange range;
            //自动从前往后查找">",找到即停止,所以是以第一个为准
            range.location = [source rangeOfString:@">"].location + 1;
            range.length = [source rangeOfString:@"</"].location - range.location;
            //开始截取
            NSString *subsource = [source substringWithRange:range];
            //开头拼接一个"来自"
            _source = [NSString stringWithFormat:@"来自%@", subsource];
        
    }
}

@end
